{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6b2088d1-8cbf-40e9-8ff6-ca715b66aaad",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split, cross_val_score, StratifiedKFold\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.multiclass import OneVsRestClassifier\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.metrics import classification_report, confusion_matrix, accuracy_score, f1_score\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "8115283f-e1c9-47f5-ba74-d2cf3d8f6fc8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 1. 数据加载和预处理\n",
    "train_data = pd.read_csv('land_train.csv')\n",
    "test_data = pd.read_csv('land_test.csv')\n",
    "\n",
    "# 分离特征和标签\n",
    "X_train = train_data.drop('Class', axis=1)\n",
    "y_train = train_data['Class']\n",
    "X_test = test_data.drop('Class', axis=1)\n",
    "y_test = test_data['Class']\n",
    "\n",
    "# 标准化特征\n",
    "scaler = StandardScaler()\n",
    "X_train_scaled = scaler.fit_transform(X_train)\n",
    "X_test_scaled = scaler.transform(X_test)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "2c8c5d41-909e-4016-9656-e530b7dd4753",
   "metadata": {},
   "outputs": [],
   "source": [
    "models = {\n",
    "    'Random Forest': RandomForestClassifier(n_estimators=100, random_state=42),\n",
    "    'Gradient Boosting': GradientBoostingClassifier(n_estimators=100, random_state=42),\n",
    "    'SVM': SVC(kernel='rbf', C=10, gamma='scale', random_state=42),\n",
    "    'Logistic Regression': OneVsRestClassifier(LogisticRegression(max_iter=1000, random_state=42)),\n",
    "    'KNN': KNeighborsClassifier(n_neighbors=5)\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "a7dd5711-f32d-4405-b804-e544ab1f8d3b",
   "metadata": {},
   "outputs": [],
   "source": [
    "results = {}\n",
    "for name, model in models.items():\n",
    "    # 训练模型\n",
    "    model.fit(X_train_scaled, y_train)\n",
    "    \n",
    "    # 预测测试集\n",
    "    y_pred = model.predict(X_test_scaled)\n",
    "    \n",
    "    # 评估指标\n",
    "    accuracy = accuracy_score(y_test, y_pred)\n",
    "    f1 = f1_score(y_test, y_pred, average='weighted')\n",
    "    report = classification_report(y_test, y_pred)\n",
    "    \n",
    "    # 交叉验证\n",
    "    cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)\n",
    "    cv_scores = cross_val_score(model, X_train_scaled, y_train, cv=cv, scoring='accuracy')\n",
    "    \n",
    "    # 存储结果\n",
    "    results[name] = {\n",
    "        'model': model,\n",
    "        'accuracy': accuracy,\n",
    "        'f1_score': f1,\n",
    "        'cv_mean': np.mean(cv_scores),\n",
    "        'cv_std': np.std(cv_scores),\n",
    "        'classification_report': report,\n",
    "        'confusion_matrix': confusion_matrix(y_test, y_pred)\n",
    "    }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "4a0915e8-b0b4-4017-a0a6-fa2b7e44e7e7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "模型性能比较:\n",
      "                 Model  Test Accuracy  F1 Score  CV Mean Accuracy    CV Std\n",
      "0        Random Forest       0.816568  0.816164          0.827094  0.044943\n",
      "1    Gradient Boosting       0.761341  0.759638          0.749020  0.068093\n",
      "2                  SVM       0.743590  0.744148          0.773440  0.056172\n",
      "4                  KNN       0.723866  0.728196          0.784848  0.113391\n",
      "3  Logistic Regression       0.710059  0.715937          0.773084  0.074132\n"
     ]
    }
   ],
   "source": [
    "performance_df = pd.DataFrame({\n",
    "    'Model': [name for name in results],\n",
    "    'Test Accuracy': [results[name]['accuracy'] for name in results],\n",
    "    'F1 Score': [results[name]['f1_score'] for name in results],\n",
    "    'CV Mean Accuracy': [results[name]['cv_mean'] for name in results],\n",
    "    'CV Std': [results[name]['cv_std'] for name in results]\n",
    "}).sort_values('Test Accuracy', ascending=False)\n",
    "\n",
    "print(\"模型性能比较:\")\n",
    "print(performance_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "19ed95cb-cf39-482e-8131-2197e3ec5ae9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "最佳模型(Random Forest)的分类报告:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "    asphalt        0.95      0.78      0.85        45\n",
      "   building        0.91      0.72      0.80        97\n",
      "        car        0.67      0.95      0.78        21\n",
      "   concrete        0.79      0.90      0.84        93\n",
      "      grass        0.79      0.84      0.81        83\n",
      "       pool        1.00      0.86      0.92        14\n",
      "     shadow        0.75      0.96      0.84        45\n",
      "       soil        0.63      0.60      0.62        20\n",
      "       tree        0.85      0.76      0.80        89\n",
      "\n",
      "    accuracy                           0.82       507\n",
      "   macro avg       0.82      0.82      0.81       507\n",
      "weighted avg       0.83      0.82      0.82       507\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# 显示最佳模型的分类报告\n",
    "best_model_name = performance_df.iloc[0]['Model']\n",
    "print(f\"\\n最佳模型({best_model_name})的分类报告:\")\n",
    "print(results[best_model_name]['classification_report'])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "a486ed23-598e-4d3a-b0c6-7a3e6198b47b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwwAAAK9CAYAAACJnusfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACBsklEQVR4nOzdeZyN9fvH8feZMZthhhnLkDXb2AkxhGxJEtlSKltaaEGbIaQwSLbs34RIKuFbKoVCvtlLyZZ932Yww5iFmfP7o1+nc3fmMMOYz5nm9exxPx7Nfe5z35dr7nPmXOf6fO7bZrfb7QIAAACANHiZDgAAAACA56JgAAAAAOAWBQMAAAAAtygYAAAAALhFwQAAAADALQoGAAAAAG5RMAAAAABwi4IBAAAAgFsUDAAAAADcomAAkC7du3dXqVKlTIeBLHT58mU99dRTCgsLk81mU79+/TL9GKVKlVL37t0zfb/Z1ZtvvimbzWY6DACwoGAAPMzcuXNls9kcS65cuXTHHXeoe/fuOnHihOnwPMY/8+S8DBw40HR4aRo1apSWLVuWoefExcVp+PDhql69uvLkyaOAgABVqVJFr7/+uk6ePHl7Av1/o0aN0ty5c/Xcc89p/vz5euKJJ27r8bKS8/mzfv16l8ftdruKFy8um82mBx988KaOcTO/bwDwRLlMBwAgbW+99ZZKly6txMREbdy4UXPnztX69ev1+++/y9/f33R4HuOvPDmrUqWKoWiub9SoUerYsaPatWuXru0PHjyo5s2b6+jRo+rUqZOefvpp+fr66rffftPs2bO1dOlS/fHHH7ct3u+//1716tXTsGHDbtsx9u7dKy8vc99d+fv7a+HChbrnnnss69euXavjx4/Lz8/vpved0d+3JL3xxhseW/ACyLkoGAAP1apVK9WuXVuS9NRTT6lAgQIaM2aMvvjiC3Xu3NlwdJ7DOU+ZKT4+XoGBgZm+3/S6du2a2rdvrzNnzmjNmjUuH2hHjhypMWPG3NYYzp49q0qVKt3WY9zKB/LM8MADD+izzz7T5MmTlSvX338SFy5cqFq1aik6OjpL4vjrfMuVK5clDgDwBAxJArKJhg0bSpIOHDjgWJecnKyhQ4eqVq1aCg4OVmBgoBo2bKgffvjB8tzDhw/LZrNp3LhxmjVrlsqUKSM/Pz/VqVNHW7ZscTnWsmXLVKVKFfn7+6tKlSpaunRpmjHFx8fr5ZdfVvHixeXn56cKFSpo3Lhxstvtlu1sNpuef/55ffbZZ6pUqZICAgIUERGhHTt2SJJmzpypsmXLyt/fX/fee68OHz58K6my+P7779WwYUMFBgYqX758atu2rXbv3m3Z5q9x47t27dJjjz2m/PnzWz6gL1iwQLVq1VJAQIBCQkLUpUsXHTt2zLKPffv2qUOHDgoLC5O/v7+KFSumLl26KDY21pGD+Ph4zZs3zzEU5npj9z///HP9+uuvGjx4sEuxIElBQUEaOXKkZd1nn33miLNAgQJ6/PHHXYaxde/eXXny5NGJEyfUrl075cmTRwULFtQrr7yilJQUSdKaNWtks9l06NAhffXVV454Dx8+7BjK88/f0V/PWbNmTbpzIqU9h+HgwYPq1KmTQkJClDt3btWrV09fffVVmsf79NNPNXLkSBUrVkz+/v5q1qyZ9u/f7zav//Too48qJiZGK1eudKxLTk7W4sWL9dhjj6X5nHHjxql+/foKDQ1VQECAatWqpcWLF1u2ud7v+3rn2z/nMMyZM0c2m00ffPCBZf+jRo2SzWbT119/ne5/KwDcLL7GALKJvz6g5c+f37EuLi5O77//vh599FH17t1bly5d0uzZs9WyZUtt3rxZNWrUsOxj4cKFunTpkp555hnZbDaNHTtW7du318GDB+Xj4yNJ+u6779ShQwdVqlRJUVFRiomJUY8ePVSsWDHLvux2ux566CH98MMP6tWrl2rUqKFvv/1Wr776qk6cOKEJEyZYtv/xxx/1xRdfqG/fvpKkqKgoPfjgg3rttdc0bdo09enTRxcuXNDYsWPVs2dPff/99+nKS2xsrMu3wAUKFJAkrVq1Sq1atdKdd96pN998UwkJCXrvvffUoEED/fzzzy6TuDt16qRy5cpp1KhRjqJn5MiRGjJkiDp37qynnnpK586d03vvvadGjRrpl19+Ub58+ZScnKyWLVsqKSlJL7zwgsLCwnTixAktX75cFy9eVHBwsObPn6+nnnpKd999t55++mlJUpkyZdz+u7744gtJSve8gblz56pHjx6qU6eOoqKidObMGU2aNEn/+9//HHH+JSUlRS1btlTdunU1btw4rVq1Su+++67KlCmj5557ThUrVtT8+fPVv39/FStWTC+//LIkqWDBgumKRVK6cpKWM2fOqH79+rpy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Oxzp888/l7+/v7799lv17NlTrVq1cnS1/ikz79jct29fXbp0SVFRUVq/fr0mTpyYafsGgBuhYACyiXvvvVd33323Jk6c6CgI/vp21fmbzU2bNmnDhg03dYwiRYqoRo0amjdvnmV4xcqVK13Gjj/wwANKSUmxFDCSNGHCBNlsNscVZ0xx/rc4f7j9/fff9d1336Xr6jLt27eXt7e3hg8f7vLtsd1uV0xMjKQ/5xtcu3bN8njVqlXl5eWlpKQkx7rAwECXD9rudOzYUVWrVtXIkSPT/H1eunRJgwcPliTVrl1bhQoV0owZMyzH++abb7R7927HlXsyw19X+lm3bp1jXUpKimbNmmXZLr05+acHHnhAmzdvtvyb4+PjNWvWLJUqVeq23RciT548mj59ut58801HsZYWb29v2Ww2S0fl8OHDad7ROSO/7+tZvHixPvnkE40ePVoDBw5Uly5d9MYbb9zWm/YBgDMuqwpkI6+++qo6deqkuXPn6tlnn9WDDz6oJUuW6OGHH1br1q116NAhzZgxQ5UqVbIMXcqIqKgotW7dWvfcc4969uyp8+fP67333lPlypUt+2zTpo2aNGmiwYMH6/Dhw6pevbq+++47/fe//1W/fv2ue8nQrPLOO++oVatWioiIUK9evRyXVQ0ODtabb755w+eXKVNGI0aMUGRkpA4fPqx27dopb968OnTokJYuXaqnn35ar7zyir7//ns9//zz6tSpk8qXL69r165p/vz58vb2VocOHRz7q1WrllatWqXx48eraNGiKl26tGOS9z/5+PhoyZIlat68uRo1aqTOnTurQYMG8vHx0c6dO7Vw4ULlz59fI0eOlI+Pj8aMGaMePXqocePGevTRRx2XVS1VqpT69++fWSlV5cqVVa9ePUVGRur8+fMKCQnRokWLXIqD9ObknwYOHOi4xOmLL76okJAQzZs3T4cOHdLnn39+W+8K3a1btxtu07p1a40fP17333+/HnvsMZ09e1ZTp05V2bJl9dtvv1m2zcjv252zZ8/queeeU5MmTfT8889LkqZMmaIffvhB3bt31/r1643eKRtADmHq8kwA0uZ8ucd/SklJsZcpU8ZepkwZ+7Vr1+ypqan2UaNG2UuWLGn38/Oz16xZ0758+XJ7t27dLJdA/euyqu+8847LPiXZhw0bZln3+eef2ytWrGj38/OzV6pU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AIBshCFJAHAT7Ha7Vq9erW+//VYvvPCCzp07p8DAQL3//vuOoUgLFixQamqq3n//fdlsNknSnDlzlC9fPq1Zs0b33XefJk6cqMjISLVv316SNGPGDH377bduj/vHH3/o008/1cqVK9W8eXNJ0p133ul4/K/hS4UKFVK+fPkk/dmRGDVqlFatWqWIiAjHc9avX6+ZM2eqcePGmj59usqUKaN3331XklShQgXt2LFDY8aMycSsAQCyIwoGAMiA5cuXK0+ePLp69apSU1P12GOP6c0331Tfvn1VtWpVy7yFX3/9Vfv371fevHkt+0hMTNSBAwcUGxurU6dOqW7duo7HcuXKpdq1a7sMS/rL9u3b5e3trcaNG6c75v379+vKlStq0aKFZX1ycrJq1qwpSdq9e7clDkmO4gIAkLNRMABABjRp0kTTp0+Xr6+vihYtqly5/n4bDQwMtGx7+fJl1apVSx999JHLfgoWLHhTxw8ICMjwcy5fvixJ+uqrr3THHXdYHvPz87upOAAAOQcFAwBkQGBgoMqWLZuube+66y598sknKlSokIKCgtLcpkiRItq0aZMaNWokSbp27Zq2bdumu+66K83tq1atqtTUVK1du9YxJMnZXx2OlJQUx7pKlSrJz89PR48edduZqFixor744gvLuo0bN974HwkA+Ndj0jMA3CZdu3ZVgQIF1LZtW/344486dOiQ1qxZoxdffFHHjx+XJL300ksaPXq0li1bpj179qhPnz7XvYdCqVKl1K1bN/Xs2VPLli1z7PPTTz+VJJUsWVI2m03Lly/XuXPndPnyZeXNm1evvPKK+vfvr3nz5unAgQP6+eef9d5772nevHmSpGeffVb79u3Tq6++qr1792rhwoWaO3fu7U4RACAboGAAgNskd+7cWrdunUqUKKH27durYsWK6tWrlxITEx0dh5dffllPPPGEunXrpoiICOXNm1cPP/zwdfc7ffp0dezYUX369FF4eLh69+6t+Ph4SdIdd9yh4cOHa+DAgSpcuLCef/55SdLbb7+tIUOGKCoqShUrVtT999+vr776SqVLl5YklShRQp9//rmWLVum6tWra8aMGRo1atRtzA4AILuw2d3NrAMAAACQ49FhAAAAAOAWBQMAAAAAtygYAAAAALhFwQAAAADALQoGAAAAAG5RMAAAAABwi4IBAAAAgFsUDAAAAADcomAAAAAA4BYFAwAAAAC3KBgAAAAA/N9wAgDqS7x9RkAumAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10, 8))\n",
    "sns.heatmap(results[best_model_name]['confusion_matrix'], annot=True, fmt='d', cmap='Blues')\n",
    "plt.title(f'{best_model_name} Confusion Matrix')\n",
    "plt.xlabel('Predicted')\n",
    "plt.ylabel('Actual')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ce5d531f-8fe7-4adb-9b52-8fc40d27a88d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
